package com.sywl.ytcx.service;


import com.sywl.ytcx.config.UserContentVO;
import com.sywl.ytcx.entity.res.ResponseResult;
import com.sywl.ytcx.entity.user.User;
import org.springframework.web.multipart.MultipartFile;

import java.util.concurrent.CompletableFuture;

public interface UserService {

     ResponseResult registerUser(User user);//注册用户

    ResponseResult loginUser(String username, String password);//登录用户
    ResponseResult updateUserStatus(String token, String status);//更新用户状态
    ResponseResult getUserById(String token);//根据用户ID查询用户
    ResponseResult updateAvatarUrl(String token, MultipartFile file);
//    ResponseResult updateUserAvatarUrl(String token, String avatarUrl);


    // 获取用户创作数据
    CompletableFuture<ResponseResult> getUserContent(int userId);


    /**
     * 为用户添加帖子喜好标签
     * @param userId 用户ID
     * @param postTagId 帖子标签ID
     * @return 通用响应
     */
    ResponseResult addUserLikeTag(Integer userId, Integer postTagId);

    /**
     * 查询所有用户喜好标签记录
     * @return 通用响应
     */
    ResponseResult getAllUserLikeTags();

    /**
     * 根据用户ID查询该用户的喜好标签
     * @param userId 用户ID
     * @return 通用响应
     */
    ResponseResult getUserLikeTagsByUserId(Integer userId);
}
